home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d19
/
today23.arc
/
TODAY23.DOC
< prev
next >
Wrap
Text File
|
1989-05-16
|
16KB
|
355 lines
---TODAY V2.3---
VERSIONS
2.3 Fixed a month wraparound bug.
2.2 Fixed superfluous reminder dates and day-of-week test.
2.1 Added PAINT color option, fixed big file read bug.
INTRODUCTION
Have you ever thought it would be nice to know what interesting
things happened on a date in history? When famous, or not so
famous, birthdays occurred? TODAY will tell you. When the program
is run, it looks at the system date, or a date you supply, then
tells you what things of interest happened on that date. You can
even create a file of dates important to you and be reminded of them
right along with the Marquis de Sade's birthday or the first
commercial radio broadcast. For a quick start type: TODAY HELP
REQUIRED FILES
TODAY is distributed as an archive file(TODAY21.ARC) and you must have
ARC V5.0 or later to extract the required files. ARC is shareware
from System Enhancement Associates and is available on many computer
bulletin boards. The files I put into TODAY.ARC are:
-READ.ME - A very brief introduction
TODAY21.DOC - This file
TODAY21.EXE - The program
TODAY.MON - where MON is JAN thru DEC. These 12 files
contain all the interesting trivia.
TODAY.OWN - a sample personal TODAY message file
TODAYBUG.BAT - Displays the TODAY Return Code when reporting
bugs.
After printing this DOC file, you need not keep it on disk but you
will need the EXE and all the MON files. They MUST all be in the
current directory or you must tell TODAY where they are with the
set today=path command before running TODAY or use the DIR option
on the command line.
INSTALLATION
To install TODAY, you must have the ARC program available, then
create a directory for TODAY, enter it and un-arc the files. Here
is an example of how you might do it:
md \today
cd \today
{ Copy TODAY21.ARC to this directory }
arc e today2 *.*
rename today2.exe today.exe { Remove version number }
today
This will create a directory called today, un-archive the files you
need to use the system, then run the program. Note that you should
probably rename TODAY21 to TODAY as used in all further examples.
To run it from your AUTOEXEC.BAT you would insert these three lines:
cd \today
today once clear wait (use your choice of options)
cd \
This example would change directories to TODAY's directory, run the
program only once each day, clearing the screen at the beginning and
waiting for a key press at the end before continuing with your BAT
file.
RUNNING TODAY
The TODAY program expects to find its data files in the current
directory or in one specified with SET TODAY= or the DIR command
line option. SET is an MSDOS command and must be entered before
you run TODAY. Which one you use is entirely up to you, however be
aware that the DIR option will override the SET command directory.
If you wish to use the ONCE option, you cannot just put the program
in a directory contained in your PATH. The program will execute but
the program file will not be updated to reflect the last time you
ran it. You MUST "cd" into the directory containing the program
file, run it, then cd back to where you want to be. There is a nice
pair of public domain utilities PUSHD and POPD that can cd to a
directory, then return to whatever directory you were in
automatically. I use these in a TODAY.BAT for interactive use. I
don't know who wrote them but they make things nicer than without
them.
TODAY OPTIONS
You can just enter TODAY and get the scoop on the current date or
you can optionally enter a date as MMDD, with leading zeros, to see
what happened on a particular date. There are several options:
ALTFN filename allows you to specify an alternate data filename
instead of TODAY. If you are setting up special
databases you could now have MUSIC.JAN-MUSIC.DEC
or whatever. You create these files in exactly
the same format as the regular TODAY files and
then on the TODAY command line you would enter:
TODAY ALTFN MUSIC to continue our earlier example.
You only enter the eight character filename and
these twelve monthly files will be used instead
of TODAY's default monthly files. More below...
CLEAR will clear the screen before displaying anything
DIR path specifies a directory other than the current one
that contains the TODAY data files. If another
path is also specified with SET TODAY=, this one
will override the SET. Ex: TODAY DIR \TODAY
HELP or ? will display an online summary of instructions
MMDD a date, such as 0401, to use instead of the system
date. Note that leading zeroes are required for
single digit days and months.
NOPAUSE do not pause when there too many messages to fit
on one screen. This is handy when redirecting
output to a file.
ONCE will only run TODAY once each day. Without this
option it will display msgs each time it is run.
Used in an AUTOEXEC.BAT, it will only run TODAY
when you turn on your system, not when you reboot.
You must CD into the directory in which TODAY.EXE
resides for this option to work.
PAINT "paints" the messages in default colors or you can
roll your own. See the details below.
WAIT will wait for a key press after the display
Most of these options are useful when TODAY is run from an
AUTOEXEC.BAT when you turn on your machine. You may only want to
run when you power on, not when you re-boot. You can clear the
screen of previous stuff before today's little gems and you can have
a pause at the end so the messages aren't destroyed by subsequent
programs. To do this: TODAY ONCE CLEAR WAIT
CUSTOMIZATION
TODAY has one data file for each month of the year. They are named
TODAY.JAN, .FEB, .MAR etc. You can also have a personal file named
TODAY.OWN. This is so all YOUR important dates aren't scattered
among 12 files. All files are plain vanilla ASCII in this format:
Column 1: The record type which can be a B for birthdays,
S for special dates in history or R for a reminder.
Cols 2-5: Month and day as MMDD with leading zeros. Zeros
for either month or day cause ALL months or days
to match when being scanned. For example 0001
would match the first of every month while 0400
would match every day of April.
Cols 6-9: The full year of the event as four digits. It
may be left blank or, for Reminders only, you
may enter another MMDD that is an ending date
corresponding to the starting date in columns
2-5. See NEW REMINDER FORMAT below for details.
A year in this part of a Reminder record will
cause an invalid date error message.
Column 10: A special processing flag. Values may be:
BLANK for no special processing.
C to continue a message from the previous line.
Note, that you MUST REPEAT the date fields.
DAY-OF-WEEK DIGIT where 1=Sunday ... 7=Saturday
This will cause the message to display only if the
date falls on a certain day of the week. Look in
the November file for voting day examples.
Cols 11-70 The message to display for this date.
--EXAMPLES--
*mmddyyyy Birthdays
*-------- ------------------------------------------------------------
B09011875 Edgar Rice Burroughs, novelist, Ah-ee-ah-ee-ah!
B09021838 Queen Liliuokalani (last queen of Hawaii).
B09021952 Jimmy Connors, tennis brat
*mmddyyyy Events
*-------- ------------------------------------------------------------
S09011939 Germany invades Poland, starts World War II.
S09011952 Sutro Baths purchased by George Whitney.
S0901 2Labor Day, a legal holiday
S09021620 The Mayflower sets sail from Plymouth with
S09021620C102 Pilgrims.
*mmddyyyy Reminders
*-------- ------------------------------------------------------------
R0001 Pay the mortgage!
R0401 Taxes due in two weeks.
R0415 Last day to pay taxes!
Leave the headings in or you may get a nasty surprise. Note that
Labor day must be on a Monday and the Mayflower gets two lines of
coverage befitting that momentous event.
This format applies to TODAY.OWN also. You can put in birthdays,
anniversaries, holidays etc. Messages in your personal file will
tend to be only Birthdays and Reminders. Also, try putting in
reminders a few days BEFORE the date in question to give youself
some warning.
NEW REMINDER FORMAT
Reminders used to be a one shot deal. You could have them appear
on any one date or on any one day every month. But reminders are
most useful when you can get jogged for several days. After all,
you might not even get on the computer every day. Here's the
answer: the four columns immediately following the month and day
normally hold a four digit year or blanks. You can now put a
beginning month and day in columns 2-5 and an ending month and day
in columns 6-9. This way you don't have to put in a separate
reminder for every day. It saves a lot of typing! For example:
R05010508 Forget Daryl's Birthday at your peril!
R0509 Did you remember Dayrl's birthday TODAY?
reminds me not to forget my wife's birthday every day from May 1
to May 8. Then on the 9th, there is the usual one shot reminder.
Another nice feature is the monthly reminder. Just set the month
portion of the date to zero and the reminder will appear every
month on the days you specify. For example:
R00050014 First mortgage due on the 15th.
But it gets even better! What if the date you need to be reminded
of falls on the 5th of the month and you want to be reminded from
the 27th of one month to the 4th of the following month? No
problem! If TODAY sees that the day of the month for the second
date is less than the day in the first date, it assumes that the
second date is in the following month. Not bad eh? Here's how:
R00270004 Second mortgage due on the 5th.
I think this new reminder system is a vast improvement over the
old one and will prove much more useful.
ALT FILENAME
I've been told that many people are setting up TODAY systems for
special interests such as MUSIC and SPACE. Also, I've gotten many
thousands of dates from many generous people out there and have been
overwhelmed with how to organize it. I think I've found an answer.
The ALT FN option provides a way to arrange dates in monthly files
by topic in addition to date. The format of the files is identical,
there are still twelve monthly files and TODAY.OWN will still always
be read. Now there can be a set of files for ALASKA, another for
NASA and even one for great dates in culinary history. I'm excited
about this concept and hope it works out well.
PAINT
This option displays the TODAY messages in color via the ANSI driver
that comes with MSDOS. This means you must have DEVICE=ANSI.SYS in
your config.sys file. If you don't like my choices, make up your own.
Immediately following the word PAINT, with no intervening space, enter
five digits corresponding to the various colors to set. They are:
Position Definition Color Codes
+-----1 - Greetings 1 - Red
|+----2 - Group Headings 2 - Green
||+---3 - YEAR in messages 3 - Amber
|||+--4 - Message text 4 - Blue
||||+-5 - Reset color after TODAY 5 - Magenta
||||| 6 - Cyan
eg: PAINT66217 <--default colors 7 - White
As you can see from the example that the default colors are cyan
greetings, green years, red messages and reset to white after TODAY.
Why the word PAINT instead of COLOR? I identify options by the first
character and C was already used by CLEAR. If you don't already know
the importance of backward compatibility, someday you will.
Since the colors are those provided by the ANSI.SYS driver, there are
no other choices. Also, the colors appear differently on different
monitors. Amber(3) on my screen may be yellow or brown on yours. So
I thought it best to let you set your own if you like.
SYSOPs note: if you use the paint option when creating a daily
message, you will do all sorts of nasty things to your users if they
aren't set up to handle ANSI graphics.
HISTORY
TODAY/PC was written in Datalight C for IBM PC compatible systems
by Patrick Kincaid in July of 1986. It was inspired by a program
originally written by Mike Butler in PL/1 on an IBM VM/CMS
system. He should be credited with the original concept and the
bulk of the wonderful data in the original files. You will
notice a distinct San Francisco flavor to the databases. Who
says programs can't have class?
VERSION 2.0
In March of 1988, I converted the program to Microsoft C 5.0 and
added new features that you asked for. I hope you like them.
In 2.0 you can:
* Specify a path, via the MSDOS SET command or a TODAY command
line option, where the data files are to be found.
* Read data files of any size
* Specify an alternate filename such as MUSIC or SPACE for
special date databases
* Give a beginning and ending date for Reminders
* Turn off the full screen pause (good when redirecting output)
VERSION 2.1
Adds the following features:
* Display messages in color
* Date displays other than the default merely confirm the date
selected rather than the full greeting.
* Fixes a big bug reading large files.
VERSION 2.2
Fixes extra reminder dates appearing and day-of-week test which
stopped working. Gave it a raise and all is well. Minor clari-
fications were made to the documentation.
If anyone has any problems with this new version that are bugs,
not a failure to read the documentation, please let me know. Run
TODAY from the TODAYBUG.BAT and report the Error Message and
Return Code along with a description of the problem. An example
of how to recreate the problem is most helpful.
USER SUPPORT
Don't send money, send more dates! I would like the program
distributed far and wide for free with this understanding: if you
like it, make up more date files and spread them around. Let's
create some REAL shareware.
Also, I understand that some deadhead out there hacked up the program
and redistributed it. Now I'm not asking for money, just a little
recognition and satisfaction in writing a program that people like.
If you should find out who does things like this, please publish his
name so he can get the type of recognition HE deserves.
You can reach me electronically via the Marin-Sonoma PC User Group
BBS (415) 927-1216 (recommended). You can mail listings, bugs
(features!) or suggestions to:
Patrick Kincaid 618 Douglas Drive Mill Valley, CA 94941
And remember...
We call it software
because
we cannot keep it
up.